#version 330 core

attribute highp vec4 a_position;
attribute highp vec3 a_normal;

uniform highp mat4 u_cameraMatrix;
uniform highp mat4 u_transformMatrix;
uniform highp mat4 u_normalMatrix;

varying highp vec3 v_normal;

void main() {
    vec4 position = u_cameraMatrix * u_transformMatrix * a_position;
    gl_Position = position;

    v_normal = mat3(u_normalMatrix) * a_normal;
    //v_color = a_color;
}
